The present invention relates generally to a scheme for installing client devices within a computer network and, in particular, to such installations that are to be temporary in nature.
In the above-cited co-pending application Ser. No. 09/151,579, entitled xe2x80x9cMethod and Apparatus for Accessing a Computer Network Communication Channelxe2x80x9d, filed Sep. 11, 1998, and assigned to the Assignee of the present invention, which is incorporated herein by reference in its entirety, a computer network adapted for use in the home environment was described. That architecture included a number of network components arranged in a hierarchical fashion and communicatively coupled to one another through communication links operative at different levels of the hierarchy. At the highest level of the hierarchy, a communication protocol that supports dynamic addition of new network components at any level of the hierarchy according to bandwidth requirements within a communication channel operative at the highest level of the network hierarchy is used. Preferably, the communication channel is supported on a wireless communication link.
The generalization of this network structure is shown in FIG. 1. A subnet 10 includes a server 12. In this scheme, the term xe2x80x9csubnetxe2x80x9d is used describe a cluster of network components that includes a server and several clients associated therewith (e.g., coupled through the wireless communication link). Depending on the context of the discussion however, a subnet may also refer to a network that includes a client and one or more subclients associated therewith. A xe2x80x9cclientxe2x80x9d is a network node linked to the server through the wireless communication link. Examples of clients include audio/video equipment such as televisions, stereo components, satellite television receivers, cable television distribution nodes, and other household appliances.
Server 12 may be a separate computer that controls the communication link, however, in other cases server 12 may be embodied as an add-on card or other component attached to a host computer (e.g., a personal computer) 13. Server 12 has an associated radio 14 (half- or full-duplex), which is used to couple server 12 wirelessly to the other nodes of subnet 10. The wireless link generally supports both high and low bandwidth data channels and a command channel. Here a channel is defined as the combination of a transmission frequency (more properly a transmission frequency band) and a pseudo-random (PN) code used in a spread spectrum communication scheme. In general, a number of available frequencies and PN codes may provide a number of available channels within subnet 10. As is described in the co-pending application cited above, servers and clients are capable of searching through the available channels to find a desirable channel over which to communicate with one another.
Also included in subnet 10 are a number of clients 16, some of which have shadow clients 18 associated therewith. A shadow client 18 is defined as a client which receives the same data input as its associated client 16 (either from server 12 or another client 16), but which exchanges commands with server 12 independently of its associated client 16. Each client 16 has an associated radio 14, which is used to communicate with server 12, and some clients 16 may have associated subclients 20. Subclients 20 may include keyboards, joysticks, remote control devices, multi-dimensional input devices, cursor control devices, display units and/or other input and/or output devices associated with a particular client 16. A client 16 and its associated subclients 20 may communicate with one another via communication links 22, which may be wireless (e.g., infra-red, ultrasonic, spread spectrum, etc.) communication links.
Each subnet 10 is arranged in a hierarchical fashion with various levels of the hierarchy corresponding to levels at which intra-network component communication occurs. At a highest level of the hierarchy exists the server 12 (and/or its associated host 13), which communicates with various clients 16 via the wireless radio channel. At other, lower levels of the hierarchy the clients 16 communicate with their various subclients 20 using, for example, wired communication links or wireless communication links such as infrared links.
Where half-duplex radio communication is used on the wireless link between server 12 and clients 16, a communication protocol based on a slotted link structure with dynamic slot assignment is employed. Such a structure supports point-to-point connections within subnet 10 and slot sizes may be re-negotiated within a session. Thus a data link layer that supports the wireless communication can accommodate data packet handling, time management for packet transmission and slot synchronization, error correction coding (ECC), channel parameter measurement and channel switching. A higher level transport layer provides all necessary connection related services, policing for bandwidth utilization, low bandwidth data handling, data broadcast and, optionally, data encryption. The transport layer also allocates bandwidth to each client 16, continuously polices any under or over utilization of that bandwidth, and also accommodates any bandwidth renegotiations, as may be required whenever a new client 16 comes on-line or when one of the clients 16 (or an associated subclient 20) requires greater bandwidth.
As explained in the above-cited co-pending application, at initial start up the network must be installed. This involves initiating a list of clients 16 at the host computer 13 (e.g., to enable the server 12 to reject connection request from any uninstalled clients whose properties and bandwidth requirements will be unknown to the host computer 13); distributing client IDs among the clients 16 (e.g., to avoid any confusion among the clients 16 regarding the expected data from the server 12 and their respective transmission slots); and forming a table of estimated bandwidth requirements for each client 16 (e.g., to enable the server 12 to on-line pre-compute any bandwidth requirements before a connection is granted to any particular client 16). Before any new client 16 is added to the subnet 10, the list of recognized clients at the host computer 13 must be updated. This may be done directly by a user at the host computer 13 or, in some cases, may be accomplished remotely, so long as the client ID is provided to both the server 12 and the new client 16.
By maintaining an up-to-date client list or database, subnet 10 may be configured on-the-fly as clients 16 log-on and/or log-off. For example, installed clients may not be active and so need not be allocated bandwidth within the communication channel. As these clients come on-line, however, they will require such bandwidth. To avoid lengthy delays in having to install a client each time it wakes up, the client list provides a readily available access point for server 12 to quickly determine the client""s bandwidth and other requirements. The client list also serves to authenticate clients so as to prevent unauthorized access to the subnet 10. In the past, however, when a user wished to remove a client from the client list, this de-installation process required manual input to delete the undesired client""s information.
In one embodiment, a network is configured so as to allow access by a client device for a limited period of time. During this period of time, the client device may have access to designated network resources. In some cases, the network may be so configured on-the-fly, that is, it may be configured to allow access by the client device in response to an installation request transmitted by the client device to a network master device. Such an installation request should include a unique identifier associated with the client device. This unique identifier may be broadcast by the client device without a prompt by the network master device. The use of a unique identifier allows for recognizing the guest client and further facilitates updating a client table wherein information regarding the available bandwidth for the guest client device may be stored. Upon expiration of the period of time, the guest client may be automatically uninstalled from the network.
These and other features and advantages of the present invention will be apparent from a review of the detailed description and its accompanying drawings that follow.